/**********************************************************************************************************************
 *  COPYRIGHT
 *  -------------------------------------------------------------------------------------------------------------------
 *
 *                This software is copyright protected and proprietary to Vector Informatik GmbH.
 *                Vector Informatik GmbH grants to you only those rights as set out in the license conditions.
 *                All other rights remain with Vector Informatik GmbH.
 *  -------------------------------------------------------------------------------------------------------------------
 *  FILE DESCRIPTION
 *  -------------------------------------------------------------------------------------------------------------------
 *          File:  Rte_Type.h
 *        Config:  D:/MyCloud/Autosar/vector/CBD1800257_D01_S32K1xx/Applications/GL_Demo/GL_Demo.dpa
 *     SW-C Type:  CanIf
 *  Generated at:  Mon Sep 15 22:04:33 2025
 *
 *     Generator:  MICROSAR RTE Generator Version 4.19.0
 *                 RTE Core Version 1.19.0
 *       License:  CBD1800257
 *
 *   Description:  Header file containing user defined AUTOSAR types and RTE structures (Contract Phase)
 *********************************************************************************************************************/

/* double include prevention */
#ifndef _RTE_TYPE_H
# define _RTE_TYPE_H

# include "Rte.h"


/**********************************************************************************************************************
 * Data type definitions
 *********************************************************************************************************************/

# define Rte_TypeDef_DataArrayType_uint8_1
typedef uint8 DataArrayType_uint8_1[1];

# define Rte_TypeDef_Dcm_Data13ByteType
typedef uint8 Dcm_Data13ByteType[13];

# define Rte_TypeDef_Dcm_Data17ByteType
typedef uint8 Dcm_Data17ByteType[17];

# define Rte_TypeDef_Dcm_Data1ByteType
typedef uint8 Dcm_Data1ByteType[1];

# define Rte_TypeDef_Dcm_Data4ByteType
typedef uint8 Dcm_Data4ByteType[4];

# define Rte_TypeDef_Dcm_Data5ByteType
typedef uint8 Dcm_Data5ByteType[5];

# define Rte_TypeDef_Dcm_Data8ByteType
typedef uint8 Dcm_Data8ByteType[8];

# define Rte_TypeDef_Dem_MaxDataValueType
typedef uint8 Dem_MaxDataValueType[9];

# define Rte_TypeDef_SG_Sig_Grp_0x213
typedef struct
{
  uint8 F_AAA_Angle;
} SG_Sig_Grp_0x213;

# define Rte_TypeDef_SG_Sig_Grp_0x214
typedef struct
{
  uint16 F_Sig_0x214_Used_1;
  uint16 F_Sig_0x214_Used_2;
  uint16 F_Sig_0x214_Used_3;
  uint16 F_Sig_0x214_Used_5;
} SG_Sig_Grp_0x214;

# define Rte_TypeDef_SG_Sig_Grp_0x302
typedef struct
{
  uint16 E_Sig_0x302_Used_1;
  uint8 E_Sig_0x302_Used_2;
  uint8 E_Sig_0x302_Used_3;
} SG_Sig_Grp_0x302;

# define Rte_TypeDef_BswM_ESH_Mode
typedef uint8 BswM_ESH_Mode;

# define Rte_TypeDef_BswM_ESH_RunRequest
typedef uint8 BswM_ESH_RunRequest;

# define Rte_TypeDef_ComM_InhibitionStatusType
typedef uint8 ComM_InhibitionStatusType;

# define Rte_TypeDef_ComM_ModeType
typedef uint8 ComM_ModeType;

# define Rte_TypeDef_ComM_UserHandleType
typedef uint8 ComM_UserHandleType;

# define Rte_TypeDef_Dcm_CommunicationModeType
typedef uint8 Dcm_CommunicationModeType;

# define Rte_TypeDef_Dcm_ConfirmationStatusType
typedef uint8 Dcm_ConfirmationStatusType;

# define Rte_TypeDef_Dcm_ControlDtcSettingType
typedef uint8 Dcm_ControlDtcSettingType;

# define Rte_TypeDef_Dcm_DiagnosticSessionControlType
typedef uint8 Dcm_DiagnosticSessionControlType;

# define Rte_TypeDef_Dcm_EcuResetType
typedef uint8 Dcm_EcuResetType;

# define Rte_TypeDef_Dcm_NegativeResponseCodeType
typedef uint8 Dcm_NegativeResponseCodeType;

# define Rte_TypeDef_Dcm_OpStatusType
typedef uint8 Dcm_OpStatusType;

# define Rte_TypeDef_Dcm_ProtocolType
typedef uint8 Dcm_ProtocolType;

# define Rte_TypeDef_Dcm_RequestKindType
typedef uint8 Dcm_RequestKindType;

# define Rte_TypeDef_Dcm_SecLevelType
typedef uint8 Dcm_SecLevelType;

# define Rte_TypeDef_Dcm_SesCtrlType
typedef uint8 Dcm_SesCtrlType;

# define Rte_TypeDef_Dem_DTCFormatType
typedef uint8 Dem_DTCFormatType;

# define Rte_TypeDef_Dem_DTCGroupType
typedef uint32 Dem_DTCGroupType;

# define Rte_TypeDef_Dem_DTCKindType
typedef uint8 Dem_DTCKindType;

# define Rte_TypeDef_Dem_DTCOriginType
typedef uint16 Dem_DTCOriginType;

# define Rte_TypeDef_Dem_DTCSeverityType
typedef uint8 Dem_DTCSeverityType;

# define Rte_TypeDef_Dem_DTCStatusMaskType
typedef uint8 Dem_DTCStatusMaskType;

# define Rte_TypeDef_Dem_DTRControlType
typedef uint8 Dem_DTRControlType;

# define Rte_TypeDef_Dem_DebounceResetStatusType
typedef uint8 Dem_DebounceResetStatusType;

# define Rte_TypeDef_Dem_DebouncingStateType
typedef uint8 Dem_DebouncingStateType;

# define Rte_TypeDef_Dem_EventIdType
typedef uint16 Dem_EventIdType;

# define Rte_TypeDef_Dem_EventStatusType
typedef uint8 Dem_EventStatusType;

# define Rte_TypeDef_Dem_IndicatorStatusType
typedef uint8 Dem_IndicatorStatusType;

# define Rte_TypeDef_Dem_InitMonitorReasonType
typedef uint8 Dem_InitMonitorReasonType;

# define Rte_TypeDef_Dem_IumprDenomCondIdType
typedef uint8 Dem_IumprDenomCondIdType;

# define Rte_TypeDef_Dem_IumprDenomCondStatusType
typedef uint8 Dem_IumprDenomCondStatusType;

# define Rte_TypeDef_Dem_IumprReadinessGroupType
typedef uint8 Dem_IumprReadinessGroupType;

# define Rte_TypeDef_Dem_MonitorStatusType
typedef uint8 Dem_MonitorStatusType;

# define Rte_TypeDef_Dem_OperationCycleIdType
typedef uint8 Dem_OperationCycleIdType;

# define Rte_TypeDef_Dem_OperationCycleStateType
typedef uint8 Dem_OperationCycleStateType;

# define Rte_TypeDef_Dem_RatioIdType
typedef uint16 Dem_RatioIdType;

# define Rte_TypeDef_Dem_UdsStatusByteType
typedef uint8 Dem_UdsStatusByteType;

# define Rte_TypeDef_EcuM_BootTargetType
typedef uint8 EcuM_BootTargetType;

# define Rte_TypeDef_EcuM_ModeType
typedef uint8 EcuM_ModeType;

# define Rte_TypeDef_EcuM_ShutdownCauseType
typedef uint8 EcuM_ShutdownCauseType;

# define Rte_TypeDef_EcuM_StateType
typedef uint8 EcuM_StateType;

# define Rte_TypeDef_EcuM_TimeType
typedef uint32 EcuM_TimeType;

# define Rte_TypeDef_EcuM_UserType
typedef uint8 EcuM_UserType;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x210_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x210_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x210_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x210_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x210_2
typedef uint8 Rte_DT_SG_Sig_Grp_0x210_2;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x210_3
typedef uint8 Rte_DT_SG_Sig_Grp_0x210_3;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x211_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x211_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x211_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x211_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x211_2
typedef uint8 Rte_DT_SG_Sig_Grp_0x211_2;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x211_3
typedef uint8 Rte_DT_SG_Sig_Grp_0x211_3;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x212_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x212_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x216_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x216_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x216_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x216_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x300_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x300_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x300_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x300_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x300_2
typedef uint8 Rte_DT_SG_Sig_Grp_0x300_2;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x300_3
typedef uint8 Rte_DT_SG_Sig_Grp_0x300_3;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x301_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x301_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x301_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x301_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x301_2
typedef uint8 Rte_DT_SG_Sig_Grp_0x301_2;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x301_3
typedef uint8 Rte_DT_SG_Sig_Grp_0x301_3;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x304_0
typedef uint8 Rte_DT_SG_Sig_Grp_0x304_0;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x304_1
typedef uint8 Rte_DT_SG_Sig_Grp_0x304_1;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x304_2
typedef uint8 Rte_DT_SG_Sig_Grp_0x304_2;

# define Rte_TypeDef_Rte_DT_SG_Sig_Grp_0x304_3
typedef uint8 Rte_DT_SG_Sig_Grp_0x304_3;

# define Rte_TypeDef_SG_Sig_Grp_0x210
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x210_0 F_Led1_State;
  Rte_DT_SG_Sig_Grp_0x210_1 F_Led2_State;
  Rte_DT_SG_Sig_Grp_0x210_2 F_Led3_State;
  Rte_DT_SG_Sig_Grp_0x210_3 F_Led4_State;
} SG_Sig_Grp_0x210;

# define Rte_TypeDef_SG_Sig_Grp_0x211
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x211_0 F_Button1_State;
  Rte_DT_SG_Sig_Grp_0x211_1 F_Button2_State;
  Rte_DT_SG_Sig_Grp_0x211_2 F_Button3_State;
  Rte_DT_SG_Sig_Grp_0x211_3 F_Button4_State;
} SG_Sig_Grp_0x211;

# define Rte_TypeDef_SG_Sig_Grp_0x212
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x212_0 F_PowerMode;
  uint8 SupF_Checksum_0x212;
  uint8 SupF_Counter_0x212;
} SG_Sig_Grp_0x212;

# define Rte_TypeDef_SG_Sig_Grp_0x216
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x216_0 F_Meg_E2E_Error;
  Rte_DT_SG_Sig_Grp_0x216_1 F_Mes_Lost_Error;
} SG_Sig_Grp_0x216;

# define Rte_TypeDef_SG_Sig_Grp_0x300
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x300_0 D_Led1_Control;
  Rte_DT_SG_Sig_Grp_0x300_1 D_Led2_Control;
  Rte_DT_SG_Sig_Grp_0x300_2 D_Led3_Control;
  Rte_DT_SG_Sig_Grp_0x300_3 D_Led4_Control;
  uint32 E2E_Reserve1_0x300;
  uint32 E2E_Reserve2_0x300;
  uint8 SupD_Checksum_0x300;
  uint8 SupD_Counter_0x300;
} SG_Sig_Grp_0x300;

# define Rte_TypeDef_SG_Sig_Grp_0x301
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x301_0 D_Button1_Control;
  Rte_DT_SG_Sig_Grp_0x301_1 D_Button2_Control;
  Rte_DT_SG_Sig_Grp_0x301_2 D_Button3_Control;
  Rte_DT_SG_Sig_Grp_0x301_3 D_Button4_Control;
} SG_Sig_Grp_0x301;

# define Rte_TypeDef_SG_Sig_Grp_0x304
typedef struct
{
  Rte_DT_SG_Sig_Grp_0x304_0 D_Led1_CtrlMode;
  Rte_DT_SG_Sig_Grp_0x304_1 D_Led2_CtrlMode;
  Rte_DT_SG_Sig_Grp_0x304_2 D_Led3_CtrlMode;
  Rte_DT_SG_Sig_Grp_0x304_3 D_Led4_CtrlMode;
  uint8 SupD_Checksum_0x304;
  uint8 SupD_Counter_0x304;
} SG_Sig_Grp_0x304;

# define Rte_TypeDef_TimeInMicrosecondsType
typedef uint32 TimeInMicrosecondsType;


# ifndef RTE_SUPPRESS_UNUSED_DATATYPES
/**********************************************************************************************************************
 * Unused Data type definitions
 *********************************************************************************************************************/

#  define Rte_TypeDef_dtRef_VOID
typedef void * dtRef_VOID;

#  define Rte_TypeDef_dtRef_const_VOID
typedef const void * dtRef_const_VOID;

#  define Rte_TypeDef_IdtDoorState
typedef boolean IdtDoorState;

#  define Rte_TypeDef_IdtLightState
typedef boolean IdtLightState;

#  define Rte_TypeDef_NvM_BlockIdType
typedef uint16 NvM_BlockIdType;

#  define Rte_TypeDef_NvM_RequestResultType
typedef uint8 NvM_RequestResultType;

#  define Rte_TypeDef_NvM_ServiceIdType
typedef uint8 NvM_ServiceIdType;

# endif

#endif /* _RTE_TYPE_H */
